package cl.duocap.refaxion.dto;

import java.io.Serializable;
import java.util.Date;

public class ParametroBusquedaDTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String rut;
	private int idOrdenTrabajo;
	private String matricula;
	private String fechaDesde;
	private String fechaHasta;
	private Date fechaDesdeTrans;
	private int estado;
	private int idTipoServicio;

	public ParametroBusquedaDTO() {
		super();
	}

	public ParametroBusquedaDTO(String rut, int idOrdenTrabajo,
			String matricula, String fechaDesde, String fechaHasta, int estado,
			int idTipoServicio) {
		super();
		this.rut = rut;
		this.idOrdenTrabajo = idOrdenTrabajo;
		this.matricula = matricula;
		this.fechaDesde = fechaDesde;
		this.fechaHasta = fechaHasta;
		this.estado = estado;
		this.idTipoServicio = idTipoServicio;

	}

	public String getRut() {
		return rut;
	}

	public void setRut(String rut) {
		this.rut = rut;
	}

	public int getIdOrdenTrabajo() {
		return idOrdenTrabajo;
	}

	public void setIdOrdenTrabajo(int idOrdenTrabajo) {
		this.idOrdenTrabajo = idOrdenTrabajo;
	}

	public String getMatricula() {
		return matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	public String getFechaDesde() {
		return fechaDesde;
	}

	public void setFechaDesde(String fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public String getFechaHasta() {
		return fechaHasta;
	}

	public void setFechaHasta(String fechaHasta) {
		this.fechaHasta = fechaHasta;
	}

	public Date getFechaDesdeTrans() {
		return fechaDesdeTrans;
	}

	public void setFechaDesdeTrans(Date fechaDesdeTrans) {
		this.fechaDesdeTrans = fechaDesdeTrans;
	}

	public int getEstado() {
		return estado;
	}

	public void setEstado(int estado) {
		this.estado = estado;
	}

	public int getIdTipoServicio() {
		return idTipoServicio;
	}

	public void setIdTipoServicio(int idTipoServicio) {
		this.idTipoServicio = idTipoServicio;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + estado;
		result = prime * result
				+ ((fechaDesde == null) ? 0 : fechaDesde.hashCode());
		result = prime * result
				+ ((fechaDesdeTrans == null) ? 0 : fechaDesdeTrans.hashCode());
		result = prime * result
				+ ((fechaHasta == null) ? 0 : fechaHasta.hashCode());
		result = prime * result + idOrdenTrabajo;
		result = prime * result + idTipoServicio;
		result = prime * result
				+ ((matricula == null) ? 0 : matricula.hashCode());
		result = prime * result + ((rut == null) ? 0 : rut.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ParametroBusquedaDTO other = (ParametroBusquedaDTO) obj;
		if (estado != other.estado)
			return false;
		if (fechaDesde == null) {
			if (other.fechaDesde != null)
				return false;
		} else if (!fechaDesde.equals(other.fechaDesde))
			return false;
		if (fechaDesdeTrans == null) {
			if (other.fechaDesdeTrans != null)
				return false;
		} else if (!fechaDesdeTrans.equals(other.fechaDesdeTrans))
			return false;
		if (fechaHasta == null) {
			if (other.fechaHasta != null)
				return false;
		} else if (!fechaHasta.equals(other.fechaHasta))
			return false;
		if (idOrdenTrabajo != other.idOrdenTrabajo)
			return false;
		if (idTipoServicio != other.idTipoServicio)
			return false;
		if (matricula == null) {
			if (other.matricula != null)
				return false;
		} else if (!matricula.equals(other.matricula))
			return false;
		if (rut == null) {
			if (other.rut != null)
				return false;
		} else if (!rut.equals(other.rut))
			return false;
		return true;
	}

}
